.\" Man page generated from reStructuredText.
.
.TH "CEPH-VOLUME" "8" "Jan 23, 2022" "dev" "Ceph"
.SH NAME
ceph-volume \- Ceph OSD deployment and inspection tool
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH 提纲
.sp
\fBceph\-volume\fP [\-h] [\-\-cluster CLUSTER] [\-\-log\-level LOG_LEVEL]
[\-\-log\-path LOG_PATH]
.sp
\fBceph\-volume\fP \fBinventory\fP
.sp
\fBceph\-volume\fP \fBlvm\fP [ \fItrigger\fP | \fIcreate\fP | \fIactivate\fP | \fIprepare\fP
| \fIzap\fP | \fIlist\fP | \fIbatch\fP | \fInew\-wal\fP | \fInew\-db\fP | \fImigrate\fP ]
.sp
\fBceph\-volume\fP \fBsimple\fP [ \fItrigger\fP | \fIscan\fP | \fIactivate\fP ]
.SH 描述
.sp
\fBceph\-volume\fP 是一个单用途命令行工具，用于把逻辑卷部署为 OSD ，其准备、激活和创建 OSD 的 API 和 \fBceph\-disk\fP
相似。
.sp
它与  \fBceph\-disk\fP 不同的地方是，它不支持交互、或依赖于随同
Ceph 一起安装的 udev 规则。通过这些规则，系统可以自动探测之前配置好的各个设备，随后传入 \fBceph\-disk\fP 以激活它们。
.SH 子命令
.SS inventory
.sp
这个子命令可搜集到主机的物理磁盘清单，并报告它们的元数据。
在这些元数据中，有与磁盘相关的数据
（像型号、尺寸、是机械磁盘还是固态的）；
还有与 Ceph 相关的，像是否可用于 Ceph 、或是否有逻辑卷。
.sp
实例：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume inventory
ceph\-volume inventory /dev/sda
ceph\-volume inventory \-\-format json\-pretty
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
打印帮助消息、然后退出
.UNINDENT
.INDENT 0.0
.TP
.B \-\-format
输出格式，可用值有 \fBplain\fP （默认的）、
\fBjson\fP 和 \fBjson\-pretty\fP
.UNINDENT
.SS lvm
.sp
通过 LVM 标签， \fBlvm\fP 子命令可以存储标记，且在稍后重新发现并查询与 OSD 有关的各个设备，以便稍后激活它们。
.sp
可用子命令：
.SS batch
.sp
用一串设备创建基于 \fBfilestore\fP 或 \fBbluestore\fP （默认的）的
OSD 。它会创建 OSD 正常运行所必需的卷组和逻辑卷。
.sp
加三个设备的用法实例：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm batch \-\-bluestore /dev/sda /dev/sdb /dev/sdc
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
打印帮助消息、然后退出
.UNINDENT
.INDENT 0.0
.TP
.B \-\-bluestore
使用 bluestore 对象存储器（默认）
.UNINDENT
.INDENT 0.0
.TP
.B \-\-filestore
使用 filestore 对象存储器
.UNINDENT
.INDENT 0.0
.TP
.B \-\-yes
跳过报告和提示，径直开通服务
.UNINDENT
.INDENT 0.0
.TP
.B \-\-prepare
仅仅准备 OSD ，不激活
.UNINDENT
.INDENT 0.0
.TP
.B \-\-dmcrypt
为底层 OSD 设备启用加密功能
.UNINDENT
.INDENT 0.0
.TP
.B \-\-crush\-device\-class
指定分配给这个 OSD 的 CRUSH 设备类
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-systemd
不要启用或创建任何 systemd 单元
.UNINDENT
.INDENT 0.0
.TP
.B \-\-osds\-per\-device
每个设备配备多于一个（默认值）的 OSD 。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-report
报告当前输入可能产生的潜在结果（需要传入设备）
.UNINDENT
.INDENT 0.0
.TP
.B \-\-format
报告时（和 \-\-report 一起使用）的输出格式，可以是 pretty 或 json 之一
.UNINDENT
.INDENT 0.0
.TP
.B \-\-block\-db\-size
设置（或覆盖） bluestore_block_db_size 的值，单位是字节
.UNINDENT
.INDENT 0.0
.TP
.B \-\-journal\-size
覆盖 osd_journal_size 的值，单位是 MB
.UNINDENT
.sp
必需的位置参数：
.INDENT 0.0
.TP
.B <DEVICE>
原始设备的完整路径，如 \fB/dev/sda\fP 。可以指定多个 \fB<DEVICE>\fP 设备路径。
.UNINDENT
.SS activate
.sp
启用写死了 OSD ID 及其 UUID （在 Ceph CLI 工具里也叫 \fBfsid\fP
）的 systemd 单元，这样，在引导时它就能知道哪个 OSD 被启用、且需挂载。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm activate \-\-bluestore <osd id> <osd fsid>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
打印帮助消息、然后退出
.UNINDENT
.INDENT 0.0
.TP
.B \-\-auto\-detect\-objectstore
通过检查 OSD 来自动探测对象存储器
.UNINDENT
.INDENT 0.0
.TP
.B \-\-bluestore
对象存储器是 bluestore （默认的）
.UNINDENT
.INDENT 0.0
.TP
.B \-\-filestore
对象存储器是 filestore
.UNINDENT
.INDENT 0.0
.TP
.B \-\-all
激活系统内找到的所有 OSD
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-systemd
不要创建、启用 systemd 单元、和启动 OSD 服务
.UNINDENT
.sp
用（ idempotent ） \fB\-\-all\fP 标记可以一次激活多个 OSD ：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm activate \-\-all
.ft P
.fi
.UNINDENT
.UNINDENT
.SS prepare
.sp
准备一个用作 OSD 及其日志（配置为 \fBfilestore\fP 或默认的
\fBbluestore\fP ）的逻辑卷。除了额外增加元数据之外，它不会创建或修改逻辑卷。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm prepare \-\-filestore \-\-data <data lv> \-\-journal <journal device>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
打印帮助消息、然后退出
.UNINDENT
.INDENT 0.0
.TP
.B \-\-journal JOURNAL
一个逻辑组名字、逻辑卷路径、或设备路径
.UNINDENT
.INDENT 0.0
.TP
.B \-\-bluestore
使用 bluestore 对象存储器（默认的）
.UNINDENT
.INDENT 0.0
.TP
.B \-\-block.wal
bluestore block.wal 的逻辑卷或分区路径
.UNINDENT
.INDENT 0.0
.TP
.B \-\-block.db
bluestore block.db 的逻辑卷或分区路径
.UNINDENT
.INDENT 0.0
.TP
.B \-\-filestore
使用 filestore 对象存储器
.UNINDENT
.INDENT 0.0
.TP
.B \-\-dmcrypt
为底层 OSD 设备启用加密功能
.UNINDENT
.INDENT 0.0
.TP
.B \-\-osd\-id OSD_ID
重用已有的 OSD id
.UNINDENT
.INDENT 0.0
.TP
.B \-\-osd\-fsid OSD_FSID
重用已有的 OSD fsid
.UNINDENT
.INDENT 0.0
.TP
.B \-\-crush\-device\-class
指定分配给这个 OSD 的 CRUSH 设备类
.UNINDENT
.sp
必需参数：
.INDENT 0.0
.TP
.B \-\-data
一个逻辑组名字、或一个逻辑卷路径
.UNINDENT
.sp
要加密 OSD 的话，在准备时必须加上 \fB\-\-dmcrypt\fP 标志（
\fBcreate\fP 子命令里也支持）。
.SS create
.sp
把开通新 OSD 的两步过程（先调用 \fBprepare\fP 之后 \fBactivate\fP
）包装成一步。倾向于使用 \fBprepare\fP 再 \fBactivate\fP 的原因是为了把新 OSD 们缓慢地加入集群，以避免大量数据被重新均衡。
.sp
这个单步调用过程统一了 \fBprepare\fP 和 \fBactivate\fP 所做的事情，为简便起见，它一次完成。选项和常规用法与 \fBprepare\fP 和
\fBactivate\fP 子命令的基本一样。
.SS trigger
.sp
这个子命令不是给用户直接使用的，是给 systemd 用的，它会分析
systemd 发来的输入、探测与 OSD 关联的 UUID 和 ID ，然后代理给
\fBceph\-volume lvm activate\fP 。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm trigger <SYSTEMD\-DATA>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
systemd “数据”应该按如下格式：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
<OSD ID>\-<OSD UUID>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
与 OSD 关联过的逻辑卷应该预先准备好，也就是所需的标签和元数据必须已备好。
.sp
位置参数：
.INDENT 0.0
.TP
.B <SYSTEMD_DATA>
来自 systemd 单元的数据包含 OSD 的 ID 和 UUID 。
.UNINDENT
.SS list
.sp
罗列与 Ceph 关联的设备或逻辑卷，即设备是否有与 OSD 相关的信息。通过查询 LVM 的元数据，建立 OSD 与设备的关系。
.sp
与 OSD 关联的逻辑卷必须是经过 ceph\-volume 准备过的，这样它才会有所需的标签和元数据。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm list
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
罗列一个特定的设备，报告与之相关的所有元数据：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm list /dev/sda1
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
罗列一个逻辑卷、以及它的所有元数据（ vg 是卷组、 lv 是逻辑卷名字）：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm list {vg/lv}
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
位置参数：
.INDENT 0.0
.TP
.B <DEVICE>
逻辑卷的话要按格式 \fBvg/lv\fP ；常规设备为路径
\fB/path/to/sda1\fP 或 \fB/path/to/sda\fP 。
.UNINDENT
.SS zap
.sp
删除指定的逻辑卷或分区。如果指定的是逻辑卷路径，必须按 vg/lv
格式。指定逻辑卷或分区上的文件系统会被删除、所有数据都会被清除。
.sp
不过，逻辑卷或分区还会保持原样。
.sp
对于逻辑卷，用法是：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm zap {vg/lv}
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
对于分区，用法是：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm zap /dev/sdc1
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
要完全删除设备，需加 \fB\-\-destroy\fP 选项
（适用于所有设备类型）：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm zap \-\-destroy /dev/sdc1
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
要删除多个设备，可指定 OSD ID 和/或 OSD FSID ：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm zap \-\-destroy \-\-osd\-id 1
ceph\-volume lvm zap \-\-destroy \-\-osd\-id 1 \-\-osd\-fsid C9605912\-8395\-4D76\-AFC0\-7DFDAC315D59
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
位置参数：
.INDENT 0.0
.TP
.B <DEVICE>
逻辑卷的话要按格式 \fBvg/lv\fP ；常规设备为路径
\fB/path/to/sda1\fP 或 \fB/path/to/sda\fP 。
.UNINDENT
.SS new\-wal
.sp
把指定逻辑卷捆绑到 OSD 上作为 WAL 。逻辑卷名字的格式是 vg/lv 。
如果 OSD 已经捆绑了 WAL 这个命令就会失败。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm new\-wal \-\-osd\-id OSD_ID \-\-osd\-fsid OSD_FSID \-\-target <target lv>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
显示帮助信息然后退出。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-systemd
跳过对 OSD 的 systemd unit 检查。
.UNINDENT
.sp
必需参数：
.INDENT 0.0
.TP
.B \-\-target
要捆绑成 WAL 的逻辑卷名字。
.UNINDENT
.SS new\-db
.sp
把指定逻辑卷捆绑到 OSD 作为 DB 。逻辑卷名字的格式是 vg/lv 。
如果 OSD 已经捆绑了 DB 这个命令就会失败。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm new\-db \-\-osd\-id OSD_ID \-\-osd\-fsid OSD_FSID \-\-target <target lv>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
显示帮助信息然后退出。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-systemd
跳过对 OSD 的 systemd unit 的检查。
.UNINDENT
.sp
必需参数：
.INDENT 0.0
.TP
.B \-\-target
要捆绑成 DB 的逻辑卷名字。
.UNINDENT
.SS migrate
.sp
把 BlueFS 数据从源卷宗挪到目标卷宗，
成功后会删除源卷宗（除非是主的，即数据或块 1 )。
目标卷宗只能是 LVM 卷，已经捆绑的或新的都是。
在后一种情形下，它被捆绑到 OSD 上来替换其中一个源设备。
适用的替换规则（按优先级排列，匹配到就不再往下）：
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
.IP \(bu 2
如果源列表里有 DB 卷 \- 目标设备就替换它；
.IP \(bu 2
如果源列表里有 WAL 卷 \- 目标设备就替换它；
.IP \(bu 2
如果源列表里只有低速卷宗 \- 操作不允许，
需要用 new\-db/new\-wal 命令显式地分配。
.UNINDENT
.UNINDENT
.UNINDENT
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume lvm migrate \-\-osd\-id OSD_ID \-\-osd\-fsid OSD_FSID \-\-target <target lv> \-\-from {data|db|wal} [{data|db|wal} ...]
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
显示帮助信息然后退出。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-systemd
跳过对 OSD 的 systemd unit 的检查。
.UNINDENT
.sp
必需参数：
.INDENT 0.0
.TP
.B \-\-from
源设备类型名字的列表
.UNINDENT
.INDENT 0.0
.TP
.B \-\-target
接收挪入数据的逻辑卷
.UNINDENT
.SS simple
.sp
扫描旧 OSD 目录或数据设备，它们可能是由 ceph\-disk 创建、
或手动创建的。
.sp
子命令：
.SS activate
.sp
启用写死了 OSD ID 及其 UUID （在 Ceph CLI 工具里也叫 \fBfsid\fP
）的 systemd 单元，这样，在系统引导时，通过读取之前创建并保存在
\fB/etc/ceph/osd/\fP 内的 JSON 数据，它就能知道哪个 OSD 被启用了、
且需挂载。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume simple activate \-\-bluestore <osd id> <osd fsid>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
打印帮助消息，然后退出
.UNINDENT
.INDENT 0.0
.TP
.B \-\-bluestore
使用 bluestore 对象存储器（默认）
.UNINDENT
.INDENT 0.0
.TP
.B \-\-filestore
使用 filestore 对象存储器
.UNINDENT
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
JSON 文件名格式必须是下面这样：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
/etc/ceph/osd/<osd id>\-<osd fsid>.json
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.UNINDENT
.SS scan
.sp
扫描一个运行着的 OSD 或数据设备，以收集其元数据，稍后可用于
ceph\-volume 激活和管理这个 OSD 。这个扫描命令会创建一个 JSON
文件，其内是必需的信息、还有在 OSD 目录内搜集到的其它信息。
.sp
另外， JSON 数据块也可以发到标准输出，以便进一步检查。
.sp
扫描所有运行着的 OSD ：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume simple scan
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
扫描数据设备：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume simple scan <data device>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
扫描运行着的 OSD 的目录：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume simple scan <path to osd dir>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
可选参数：
.INDENT 0.0
.TP
.B \-h, \-\-help
打印帮助消息，然后退出
.UNINDENT
.INDENT 0.0
.TP
.B \-\-stdout
把 JSON 数据块发到标准输出
.UNINDENT
.INDENT 0.0
.TP
.B \-\-force
如果目标 JSON 文件已存在，直接覆盖它
.UNINDENT
.sp
必需的位置参数：
.INDENT 0.0
.TP
.B <DATA DEVICE or OSD DIR>
实际的数据分区或指向在运行 OSD 的路径
.UNINDENT
.SS trigger
.sp
这个子命令不是给用户直接使用的，是给 systemd 用的，它会分析
systemd 发来的输入、探测与 OSD 关联的 UUID 和 ID ，然后代理给
\fBceph\-volume simple activate\fP 。
.sp
用法：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
ceph\-volume simple trigger <SYSTEMD\-DATA>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
systemd “数据”应该按如下格式：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
<OSD ID>\-<OSD UUID>
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
与 OSD 关联的 JSON 文件应该提前保存到位，通过扫描（或手写），以使所需元数据随时可用。
.sp
位置参数：
.INDENT 0.0
.TP
.B <SYSTEMD_DATA>
.UNINDENT
.sp
systemd 单元发来的数据，内含 OSD 的 ID 和 UUID
.SH 使用范围
.sp
\fBceph\-volume\fP 是 Ceph 的一部分，这是个伸缩力强、开源、分布式的存储系统，更多信息参见 \fI\%https://docs.ceph.com\fP 。
.SH 参考
.sp
ceph\-osd(8),
.SH COPYRIGHT
2010-2014, Inktank Storage, Inc. and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)
.\" Generated by docutils manpage writer.
.
